----//<<----------<<<<--++++----------<<--++++**))))++++**++<<>>--++++------<<--------<<------<<<<--------------++----++++++++------//<<----------<<<<--++++----------<<--++++**))))++++**++<<>>--++++------<<--------<<------<<<<--------------++----++++++++----<<//<<<<------<<<<<<------++++--++----++**++++****++--++------------------<<<<------------<<<<<<<<<<--------++--------++++++----<<//<<<<------<<<<<<------++++--++----++**++++****++--++------------------<<<<------------<<<<<<<<<<--------++--------++++++----<<<<----------<<<<<<<<----++**++------++**++--++**++--------------------<<<<<<--------------<<------<<<<--++++--<<<<--------++--<<<<----------<<<<<<<<----++**++------++**++--++**++--------------------<<<<<<--------------<<------<<<<--++++--<<<<--------++------++----------<<<<--<<--****++------++****++++**++------++++----------<<//<<++++------------------<<<<--++++----<<<<<<------------++----------<<<<--<<--****++------++****++++**++------++++----------<<//<<++++------------------<<<<--++++----<<<<<<--------<<--------------------<<--++**++----++****++++++++------++++++--++++----<<<<--++++----------------<<<<--++**++++----<<<<<<<<----<<--------------------<<--++**++----++****++++++++------++++++--++++----<<<<--++++----------------<<<<--++**++++----<<<<<<<<----<<----------------++--<<<<--++++++--++**++------------++))))++--++++++--<<----++------------------<<----****++------<<<<<<<<----<<----------------++--<<<<--++++++--++**++------------++))))++--++++++--<<----++------------------<<----****++------<<<<<<<<----<<<<----++++--------------------------++++------------++****++++++++++--++--------------------++--------++++----<<<<<<<<--------<<<<----++++--------------------------++++------------++****++++++++++--++--------------------++--------++++----<<<<<<<<------<<<<----++++++----++++++++++++----------------**++--------++--++++**++++****--------------<<--------------++++--<<------<<------<<<<----++++++----++++++++++++----------------**++--------++--++++**++++****--------------<<--------------++++--<<------<<------<<<<--****------------++**++----------<<<<<<--------<<--++------++++----++**++--++++----<<<<------------++****----------------<<<<<<--****------------++**++----------<<<<<<--------<<--++------++++----++**++--++++----<<<<------------++****----------------<<<<--++**++------++------****++----------<<----------------<<<<------++--++****++++++++--------------++********++--------------<<<<--++**++------++------****++----------<<----------------<<<<------++--++****++++++++--------------++********++--------------<<------++++--------++----****++++------++++****++------------------++++++++****++------++----<<------++++++++----++----<<<<------------++++--------++----****++++------++++****++------------------++++++++****++------++----<<------++++++++----++----<<<<------++++++++++++--------++******++++++--++++++****++----<<--++++**++--++**++++++**--<<<<<<------<<------++++--------++--<<<<<<----++++++++++++++--------++******++++++--++++++****++----<<--++++**++--++**++++++**--<<<<<<------<<------++++--------++--<<<<<<----++++++++++++++--------++****++----++++++++----++----<<<<----++++++**++))**++++++++--<<<<----++++--++++++++++--------<<<<--------++++++++++++++--------++****++----++++++++----++----<<<<----++++++**++))**++++++++--<<<<----++++--++++++++++--------<<<<--------++--------++++++++++----++++++--++****++------------<<----------++++**))++++++++++++--------**))++--++----++--------<<<<------------------++++++++++----++++++--++****++------------<<----------++++**))++++++++++++--------**))++--++----++--------<<<<------------<<<<------++++++----++++++++++++++----++++++++--<<----------++++++++++++----++--------++**))++----------------<<<<<<----<<------<<<<------++++++----++++++++++++++----++++++++--<<----------++++++++++++----++--------++**))++----------------<<<<<<----<<------<<<<<<------++++----++--++++------++++++++**++----++********++----++++--------------------++----------++++--<<<<------<<<<----<<<<<<------++++----++--++++------++++++++**++----++********++----++++--------------------++----------++++--<<<<------<<<<------<<<<------------++--++++--------****++++++++********++++++--<<--------------<<----------++----<<------++++--<<----++--<<--------<<<<------------++--++++--------****++++++++********++++++--<<--------------<<----------++----<<------++++--<<----++--<<--------<<<<----------**++++------<<----++++++))))++**++++--<<----<<<<----------++----------++++++------------++++------**++------++----<<<<----------**++++------<<----++++++))))++**++++--<<----<<<<----------++----------++++++------------++++------**++------++------<<<<------++**++--------<<<<----<<--**++------------++++--++++++----------------++****++------++--<<----++--++++++++----++------<<<<------++**++--------<<<<----<<--**++------------++++--++++++----------------++****++------++--<<----++--++++++++----++----------++++++++**++----------<<--------++--------------++++++++++----++--------------++**++++++++++----------++++------++++++----------++++++++**++----------<<--------++--------------++++++++++----++--------------++**++++++++++----------++++------++++++----++--++****++++++++--------------**--------------<<------++--**++--****--<<----<<<<----**))))))****++**++++<<--------++++--------++--++****++++++++--------------**--------------<<------++--**++--****--<<----<<<<----**))))))****++**++++<<--------++++----++++++++++++----------<<//<<--++++**++------<<<<----<<<<----++**))**++**--<<<<----<<<<++++))))))))********------<<------++++----++++++++++++----------<<//<<--++++**++------<<<<----<<<<----++**))**++**--<<<<----<<<<++++))))))))********------<<------++++----------------------------<<----++++++----------------<<<<--++++********++--------------++************++----<<----<<<<<<<<<<------------------------------<<----++++++----------------<<<<--++++********++--------------++************++----<<----<<<<<<<<<<--------------------++------++++++------------------++**------++****++++**++**++++++++------++++------++++--<<<<<<----------<<<<<<------------------++------++++++------------------++**------++****++++**++**++++++++------++++------++++--<<<<<<----------<<<<<<------------------**--<<--******++--------------++))))++----++******))))++--++++----------------<<<<----<<<<<<<<--------++--<<--<<----------------**--<<--******++--------------++))))++----++******))))++--++++----------------<<<<----<<<<<<<<--------++--<<--<<------++--------++--<<--++++**++++------++------++++++------++++++**++--------++--**++----------<<<<--<<--------------------<<--------++--------++--<<--++++**++++------++------++++++------++++++**++--------++--**++----------<<<<--<<--------------------<<--------++++----------<<--++--++++--------++------------------------------------++++))**++--------<<<<------++-->><<<<------------------++++----------<<--++--++++--------++------------------------------------++++))**++--------<<<<------++-->><<<<----------------<<--**++------------------------******----++----------------------------------++++--<<------<<//<<----++--??>><<--++++------++--<<--**++------------------------******----++----------------------------------++++--<<------<<//<<----++--??>><<--++++------++--------++----------<<------++----++**++--------++--------------++--++++<<<<<<<<--++--<<<<------<<<<------++>>>>--++++++++++------------++----------<<------++----++**++--------++--------------++--++++<<<<<<<<--++--<<<<------<<<<------++>>>>--++++++++++------------------------<<--------------<<<<<<----------<<<<<<--------------<<<<----------<<<<<<++++--<<<<<<<<--<<<<--------++--------------------------<<--------------<<<<<<----------<<<<<<--------------<<<<----------<<<<<<++++--<<<<<<<<--<<<<--------++----------<<<<--------------++++----<<----<<<<<<<<--++--<<<<<<<<----<<<<------<<<<----<<<<--<<--++****--<<<<--<<<<<<----------------------<<<<--------------++++----<<----<<<<<<<<--++--<<<<<<<<----<<<<------<<<<----<<<<--<<--++****--<<<<--<<<<<<------------------------<<<<<<--**----++****++--//<<++++--++----++-->>>>//<<----------++--<<<<<<<<//<<------**))**------++--<<<<<<----------------------<<<<<<--**----++****++--//<<++++--++----++-->>>>//<<----------++--<<<<<<<<//<<------**))**------++--<<<<<<----------------------//<<----**----++****++--//<<++++--------++-->>//<<<<--------------<<<<<<////<<----++))))**------++--<<<<--------<<--------------//<<----**----++****++--//<<++++--------++-->>//<<<<--------------<<<<<<////<<----++))))**------++--<<<<--------<<------------<<>><<----++------------<<<<----<<<<<<----++--<<--<<<<<<--<<----------<<----<<--------++****--<<<<--<<<<------<<<<<<------------<<>><<----++------------<<<<----<<<<<<----++--<<--<<<<<<--<<----------<<----<<--------++****--<<<<--<<<<------<<<<<<----------<<<<<<------++----<<----------------<<--------------<<<<----------------<<------------<<>>--++--<<//<<<<--<<<<<<----------------<<<<<<------++----<<----------------<<--------------<<<<----------------<<------------<<>>--++--<<//<<<<--<<<<<<----------------<<--------++++++--------++------++**------++--++++------------++----++----<<----++--<<<<<<--<<<<<<----++>>>><<--++++**++------<<--------++++++--------++------++**------++--++++------------++----++----<<----++--<<<<<<--<<<<<<----++>>>><<--++++**++----------++++----------------++----++******----++----++--++++--------<<<<----------++++++<<------<<<<<<----++--??>><<--++++++----++------++++----------------++----++******----++----++--++++--------<<<<----------++++++<<------<<<<<<----++--??>><<--++++++----++----++++++--------<<--++--++++++++----++----------++--++++------------<<----++++))**++----------<<------++-->><<<<------------------++++++--------<<--++--++++++++----++----------++--++++------------<<----++++))**++----------<<------++-->><<<<------------------++------------<<--++++**++++--------------******--------++--++++++--++++**++**++--------<<<<--------------------------<<<<------++------------<<--++++**++++--------------******--------++--++++++--++++**++**++--------<<<<--------------------------<<<<--------------++++--<<--++****++--------------**((((**------++**++**))++++****++--------<<------<<--------------------------<<<<--------------++++--<<--++****++--------------**((((**------++**++**))++++****++--------<<------<<--------------------------<<<<--------++----++++--<<--++++++--++++----------++****++----++++++++++**++++**++++++----------------++++--------------------<<<<----------++----++++--<<--++++++--++++----------++****++----++++++++++**++++**++++++----------------++++--------------------<<<<----++++++------------------<<----++++++----++++--------<<<<--++++****++++----++++----------****++++****++++--------<<<<<<----------++++++------------------<<----++++++----++++--------<<<<--++++****++++----++++----------****++++****++++--------<<<<<<----------****++++++++++--------<<//<<--++++++----++------------------++**))**++++----------<<<<--++**))))))********------<<------++++----****++++++++++--------<<//<<--++++++----++------------------++**))**++++----------<<<<--++**))))))********------<<------++++------++++--++**++++++++------<<--------++----------------------++++**++--**++--------<<----++))))))**++++++**++------++----++**++----++++--++**++++++++------<<--------++----------------------++++**++--**++--------<<----++))))))**++++++**++------++----++**++--++--------++++--++++--<<<<<<----<<<<----------------------++++++++--------------------++++****++++----------------++++--++++++++++--------++++--++++--<<<<<<----<<<<----------------------++++++++--------------------++++****++++----------------++++--++++++++++----<<--++----++++--<<<<<<<<<<<<<<--<<--**++------------++++------------++++--------++++**++----------<<<<------++**++++++++++++----<<--++----++++--<<<<<<<<<<<<<<--<<--**++------------++++------------++++--------++++**++----------<<<<------++**++++++++++++----<<----------++--------<<<<<<--++++--**))++**++++--------<<<<--<<------++----------++++++----<<------++++--<<--++**++----++++----<<----------++--------<<<<<<--++++--**))++**++++--------<<<<--<<------++----------++++++----<<------++++--<<--++**++----++++--<<<<------------------++------++**++--++++++********++++++--<<<<<<--------------------------<<<<------++++--<<<<--++--------++--<<<<------------------++------++**++--++++++********++++++--<<<<<<--------------------------<<<<------++++--<<<<--++----------<<<<<<------++++----------++--++++++++----++------++****++++--------++--------------------++--<<<<------++++--<<<<------<<<<----<<<<<<------++++----------++--++++++++----++------++****++++--------++--------------------++--<<<<------++++--<<<<------<<<<----<<<<--------++++------------++++**++--++--------<<----------------++++------++++--------**))++----<<------------<<------<<------<<<<--------++++------------++++**++--++--------<<----------------++++------++++--------**))++----<<------------<<------<<------------++++++++------++++------****++++--<<------<<<<--<<<<--++++****++----++**++------++**))++------------<<----------------++--------++++++++------++++------****++++--<<------<<<<--<<<<--++++****++----++**++------++**))++------------<<----------------++++++**++****++------++**++------++++++------------<<<<------++++++++))**++++++**--<<<<--++++++----------++------------------++**++++**++****++------++**++------++++++------------<<<<------++++++++))**++++++**--<<<<--++++++----------++------------------++**++++++++++**++------++****++--------++----++++++----<<------++++----++++++++++--<<//<<----<<<<--------------<<--++----<<<<----++++++++++++**++------++****++--------++----++++++----<<------++++----++++++++++--<<//<<----<<<<--------------<<--++----<<<<----++------++++++++++++++----++**++++--++++++****++++----<<--------------------**++--------++----<<<<<<<<----++------++++--<<<<------------++++++++++++++----++**++++--++++++****++++----<<--------------------**++--------++----<<<<<<<<----++------++++--<<<<----------++++++----------<<--****++----++++--------------<<----<<<<----------++**++++++++++------<<<<<<------++++++++--------------------++++++----------<<--****++----++++--------------<<----<<<<----------++**++++++++++------<<<<<<------++++++++----------------<<----++**------------++**++------------<<----------//----------++----++****++----++----<<<<----<<--------****------------++----<<----++**------------++**++------------<<----------//----------++----++****++----++----<<<<----<<--------****------------++--------------++++--------++++--------------------**++------------++**++++**))))--------------<<--------------++++----------------------------++++--------++++--------------------**++------------++**++++**))))--------------<<--------------++++----------------------------++--------------<<------------++++----------++++**))**++++++++++++------------------++++--------++++--<<<<<<<<------------------++--------------<<------------++++----------++++**))**++++++++++++------------------++++--------++++--<<<<<<<<------------------------<<------<<<<--++++++++**))**------------++))((**++++++----------++++----------------<<<<--++++++------<<------------------------<<------<<<<--++++++++**))**------------++))((**++++++----------++++----------------<<<<--++++++------<<--------------++++------<<<<----<<--++**++----**))**++--++++------****++--++++----------**++--------<<----<<<<<<<<--++++------<<<<<<----------++++------<<<<----<<--++**++----**))**++--++++------****++--++++----------**++--------<<----<<<<<<<<--++++------<<<<<<----------++----------<<<<--<<--****------++++**++----++----------++--++--++----<<--**++----------<<------<<<<--++++----<<<<----++++------++----------<<<<--<<--****------++++**++----++----------++--++--++----<<--**++----------<<------<<<<--++++----<<<<----++++----------------<<<<<<<<----****++----++++**++--++++++--------------++------<<<<----------------------<<----++----<<<<----++++++----------------<<<<<<<<----****++----++++**++--++++++--------------++------<<<<----------------------<<----++----<<<<----++++++----<<<<<<------<<<<<<<<--++++++--------++****++****++------------++--------<<<<<<<<<<<<----<<<<------------------<<<<--++++++++----<<<<<<------<<<<<<<<--++++++--------++****++****++------------++--------<<<<<<<<<<<<----<<<<------------------<<<<--++++++++----//<<----++----<<<<--++++----------<<--++++**))))++++**++<<>><<++++------<<--++----<<<<----<<----------------++----++**++++++----//<<----++----<<<<--++++----------<<--++++**))))++++**++<<>><<++++------<<--++----<<<<----<<----------------++----++**++++++